// 统一返回
const result = async (ctx, next) => {
    ctx.suc =  (msg = '', data = {}) => {
        return  ctx.body = {
            stat: true,
            msg : msg,
            data : data
        }
    }
    ctx.err = (msg) => {
       if(typeof msg === 'object') {
           if(typeof msg.errors === 'object') {
               if(msg.errors[0] && msg.errors[0].path) {
                   return ctx.err(msg.errors[0].path)
               }
               let m = msg.errors.toString().replaceAll('Error:', '')
               return ctx.err(m)
           }
           else {
               return ctx.err(msg.toString().replaceAll('Error:', ''))
           }
       }
       else {
           let m = msg
           if(msg.cause) {
               m = msg.cause
           }
           return  ctx.body = {
               stat: false,
               msg : m
           }
        }
    }
    await next()
}

module.exports = result